1. TECHNICAL DOMAIN
The invention mainly concerns an input peripheral for a computer.
This input peripheral may be used in most computer application domains. These domains include, but are not restricted to, visiting or building virtual worlds, computer aided design (CAD), video games, etc.
The invention also concerns a process for interaction between this type of input peripheral and a computer display screen.
2. STATE OF PRIOR ART
Input peripherals used on computers may be classified in three categories, depending on the type of action that they enable on an element such as a cursor displayed on the computer screen. Thus, depending on the type of input peripheral used, it is possible to move it in a single direction (xe2x80x9c1Dxe2x80x9d mode), in two directions (xe2x80x9c2Dxe2x80x9d mode) or in three directions (xe2x80x9c3Dxe2x80x9d mode).
1D type input peripherals include the xe2x80x9carrowxe2x80x9d keys on the computer keyboard.
These 1D devices, that form the simplest input peripherals, have very limited use. However note they are sometimes used with 2D devices to perform a three dimensional action on an element displayed on the screen. However this is not very convenient, and users need to use both hands for this operation alone; furthermore this device cannot be used to rotate the displayed element.
Most input peripherals are of the 2D type. This category includes conventional 2D mice, and trackball devices. Although these input devices are capable of controlling a two dimensional displacement of an element displayed on the computer screen, they cannot control the rotation which is essential when it is required to position and orient an object on the screen at the same time.
3D type input peripherals include all devices used in association with software for creating three dimensional virtual spaces on the screen. These devices are naturally adapted to displacement of an element in three dimensions to visit virtual worlds or digital models, for the construction of digital objects in CAD, etc. The main peripherals forming part of this category are 3D mice and xe2x80x9ctrackerxe2x80x9d devices.
3D mice are 2D mice on which a mobile device such as a joystick, ball or other device has been added. For example, this type of device is described in documents U.S. Pat. Nos. 5,298,919 and 4,933,670.
3D mice have a number of disadvantages, mainly related to the fact that the displacement control of the element displayed on the screen in the third direction is performed by a specific device, which must be maneuvered in addition to the displacement of the mouse on its support. This requires special training for users of these devices. Furthermore, the mobile element providing control in the third direction frequently has limited movements, which is a disadvantage when a large displacement is necessary along this third direction. Finally, 3D mice usually do not have any controls for rotating or orienting the displayed element.
Trackers are devices that are placed in the user""s hand and in which a sensor is placed, for example of the electromagnetic type. This sensor detects a low frequency magnetic field emitted by a stationary external source. When the user moves the tracker and modifies its rotation, the magnetic field received by the sensor varies. Signals emitted by the sensor are therefore representative of the position and rotation of the tracker in space. These devices are described particularly in document U.S. Pat. No. 5,237,647.
Compared with 3D mice, trackers have the advantage that they can be used by a person without any special training, because all movements of the user""s hand are transmitted to the element displayed on the screen in exactly the same way regardless of the direction of the movement. Furthermore, they can be used to control the rotation of this element.
However, trackers have the disadvantage that they are too sensitive when precise positioning of an element is necessary in a three dimensional scene displayed on the screen, or when execution of a specific task makes it necessary to work temporarily into 2D mode.
The main purpose of the invention is a new type of input peripheral designed to change automatically from 3D operating mode to 2D operating mode and vice versa, particularly to enable a user without any special training to be able to work in a three dimensional space, while benefiting from the precision provided by two dimensional action whenever he wishes, when necessary for the task to be executed.
In the invention, this result is obtained by an input peripheral for a computer, comprising a mobile casing designed to be held by the user, and means of detecting the three dimensional position and rotation of the casing, characterized by the fact that a two state contactor is placed on one surface of the casing designed to be placed on a plane support and to occupy a first state corresponding to a two dimensional operating mode of the peripheral when the casing is placed on the support, and a second state corresponding to a three dimensional operating mode of the peripheral when the casing is lifted off the support.
When, this type of input peripheral is used, all tasks normally done in a three dimensional space using existing 3D input peripherals can be carried out in the same way as with a conventional tracker. However when high precision is necessary, or when necessary for the task to be accomplished, it is possible to work temporarily in 2D mode by placing the casing on a support. This action has the immediate consequence of putting the input peripheral into its two dimensional operating state so that it then behaves like a traditional 2D mouse.
In one preferred embodiment of the invention, the means of detecting the three dimensional position and rotation comprise an electromagnetic sensor installed in a casing an and electronic preprocessing circuit placed outside the casing and connected to the sensor by an electric conductor. The electromagnetic sensor is sensitive, in a known manner, to a three dimensional magnetic field produced by a stationary external source.
According to one characteristic similar to what is found on most existing input peripherals, the casing is preferably equipped with at least one button to start computer processing. This button may be used particularly when a mobile cursor representing the position of the casing in the virtual space on the screen, is on one of a set of icons displayed on the screen, or is on an object in the virtual scene represented on the screen. This can then trigger execution of previously defined computer processing associated with this icon or this object.
The casing then contains an electronic circuit for shaping signals output by the contactor and by the button.
Means of detecting the three dimensional position and rotation output signals representing the coordinates x, y and z and the rotations xcex1, xcex2, xcex3 of the casing in a fixed orthonormal coordinate system R (O, i, j, k) related to the support, and for which the i and j axes are in the plane of the support.
Another purpose of the invention is a process for interaction between a peripheral thus defined and a computer display screen. This process includes the following steps:
determine the operating mode of the peripheral;
calculate the coordinates xxe2x80x2, yxe2x80x2, zxe2x80x2 and the rotations xcex1xe2x80x2, xcex2xe2x80x2, xcex3xe2x80x2 of a 3D cursor displayed on the screen (34) in an orthonormal coordinate system Rxe2x80x2 (Oxe2x80x2, ixe2x80x2, jxe2x80x2, kxe2x80x2) related to a virtual scene represented on the screen, starting from signals output by the means (16) of detecting a three dimensional position and rotation, in three dimensional operating mode;
calculate the coordinates xxe2x80x3, yxe2x80x3 and the rotation xcex1xe2x80x3 of a 2D cursor in an orthonormal coordinate system Rxe2x80x3 (Oxe2x80x3, ixe2x80x3, jxe2x80x3, kxe2x80x3) related to the screen, for which the ixe2x80x3 and jxe2x80x3 axes are located in the plane of the screen, starting from the signals output by means of detecting the three dimensional position and rotation in two dimensional operating mode.
In three dimensional operating mode, a movement of the casing in coordinate system R from a position P1 with coordinates x1, y1, z1 and rotations xcex11, xcex21, xcex31, to a position P2 with coordinates x2, y2, z2 and rotations xcex12, xcex22, xcex32, will displace the 3D cursor in the Rxe2x80x2 coordinate system from a position Pxe2x80x21 with coordinates xxe2x80x21, yxe2x80x21, zxe2x80x21 and rotations xcex1xe2x80x21, xcex2xe2x80x21, xcex3xe2x80x21, to a position Pxe2x80x22 with coordinates xxe2x80x22, yxe2x80x22, zxe2x80x22 and rotations xcex1xe2x80x22, xcex2xe2x80x22, xcex3xe2x80x22, calculated using the following relations:
xxe2x80x22=xxe2x80x21+Cx(x2xe2x88x92x1)
yxe2x80x22=yxe2x80x21+Cy(y2xe2x88x92y1)
zxe2x80x22=zxe2x80x21+Cz(z2xe2x88x92z1)
xcex1xe2x80x22=xcex1xe2x80x21+Cxcex1(xcex12xe2x88x92xcex11)
xcex2xe2x80x22=xcex2xe2x80x21+Cxcex2(xcex22xe2x88x92xcex21)
xcex3xe2x80x22=xcex3xe2x80x21+Cxcex3(xcex32xe2x88x92xcex31)
in which Cx, Cy, Cz, Cxcex1, Cxcex2 and Cxcex3 represent gains that can be configured in x, y, z, xcex1, xcex2, xcex3 respectively.
In two dimensional operating mode, moving the casing on the support in the R coordinate system from a position P1 with coordinates x1, y1 and rotation xcex31 to a position P2 with coordinates x2, y2 and rotation xcex32 will move the 2D cursor in the Rxe2x80x3 coordinate system from a position Pxe2x80x31 with coordinates xxe2x80x31, yxe2x80x31 and rotation xcex31 to a position Pxe2x80x32 with coordinates xxe2x80x32, yxe2x80x32 and rotation xcex3xe2x80x32 calculated using the following relations:
xxe2x80x32=xxe2x80x31+Fx(x2xe2x88x92x1)
yxe2x80x32=yxe2x80x31+Fy(y2xe2x88x92y1)
xcex3xe2x80x32=xcex3xe2x80x31+Fxcex3(xcex32xe2x88x92xcex31)
in which Fx, Fy and Fxcex3 are gains that can be configured in x, y and xcex3 respectively, position P1 being the initial position of the casing when the peripheral changes to two dimensional operating mode, position Pxe2x80x31 being the final position of the 2D cursor during the previous changeover from two dimensional operating mode to three dimensional operating mode.